#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

//int* twoSum(int* numbers, int numbersLen, int target, int* returnSize)
//{
//	int* ret = malloc(sizeof(int) * 2);
//	int i = 0, j = 0;
//	for (i = 0; i < numbersLen; i++)
//	{
//		if (numbers[i] > target)
//			continue;
//		for (j = 0; j < numbersLen; j++)
//		{
//			if (numbers[i] + numbers[j] == target)
//			{
//				ret[0] = i + 1;
//				ret[1] = j + 1;
//				*returnSize = 2;
//				return ret;
//			}
//		}
//	}
//	*returnSize = 0;
//	return 0;
//}\

int main()
{
	int mon = 0, num = 1;
	int arr[32] = { 0 };
	scanf("%d", &mon);
	int i = 0;
	arr[0] = 1;
	arr[1] = 1;
	if (mon > 2)
	{
		for (i = 2; i < mon; i++)
		{
			arr[i] = arr[i - 1] + arr[i - 2];
			num = arr[i];
		}
	}
	else
	{
		num = 1;
	}
	printf("%d\n", num);
	return 0;
}